home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 1 / ETO Development Tools 1.iso / Essentials / C++ AppleLink Messages / CPlus.Dev$ 5⁄4⁄90 / 0117-A help class design -Apr90 < prev    next >
Encoding:
Text File  |  1990-05-04  |  1.9 KB  |  62 lines  |  [TEXT/GEOL]

  1. Item    0699819                         28-April-90        21:42PDT
  2.  
  3. From:   M.DANIEL                        Daniel Scientific, M Daniel,PRT
  4.  
  5. To:     CPLUS.APPLE$                    C++ Interest List--Apple Employees
  6.         CPLUS.DEV$                      C++ Interest List--Developers
  7.  
  8. Sub:    A help class design proposal
  9.  
  10. From:   M.Daniel                      Daniel Scientific, Michael J. Daniel, PRT
  11.  
  12. To:     CPLUS.APPLE$                  C++ Interest List--Apple Employees
  13.         CPLUS.DEV$                    C++ Interest List--Developers
  14.  
  15. Sub:    A help class design proposal
  16.  
  17.  
  18. Macintosh software development currently involves three parallel interwoven
  19. code streams:
  20.  
  21. 1) the interface handling code stream,
  22. 2) the main algorithm code stream,
  23. 3) and error handling/recover code stream.
  24.  
  25. To this we now need to weave in a forth code stream:
  26.  
  27. 4) context-sensitive help code stream.
  28.  
  29. On-line help is the subject of Human Interface Note #2.  The April 1990
  30. "develop" discusses the design of C++ classes.  Context-sensitive help is not
  31. an easy thing to do.  C++ provides an opportunity to lessen the burden.
  32.  
  33. I propose that we, as a group on AppleLink, before God and our competitors,
  34. design and define the user interface to a context-sensitive help class.  If we
  35. all pitch in, we could get the features vital to our individual applications in
  36. the definition.
  37.  
  38. Following this, we could have a competition to implement the class: first to
  39. market, fastest, smallest, cheapest, etc.
  40.  
  41. Here is a preliminary specification.
  42.  
  43. class user_monitor {
  44.     public:
  45.         void user_action( Handle );
  46.             //keep user_monitor informed about what the user is doing.
  47.  
  48.         Handle suggest( Handle );
  49.             //ask user_monitor what to do.
  50.  
  51.         operator int();
  52.             //report the state of the user_monitor object.
  53.  
  54.     private:
  55. };
  56.  
  57.  
  58. Michael J. Daniel
  59. Daniel Scientific
  60. AppleLink:M.Daniel
  61.  
  62.